const express = require("express")
const app = express();
const path = require("path");

//处理body请求体的中间件
app.use(express.urlencoded())
app.use(express.json())
// cors跨域中间件

app.use('*', (req, res, next) => {
// 所有的请求都允许跨域
res.set("Access-Control-Allow-Origin", "*")
// 设置允许跨域的ip地址
res.set("Access-Control-Allow-Origin", "http://127.0.0.1:57558")

// 设置允许允许跨域的地址集合
    const allowAdd = ["http://127.0.0.1:57555", "http://127.0.0.1:57556", "http://127.0.0.1:57557", "http://127.0.0.1:5500"]
    // console.log(req.headers.origin); //拿到请求的来源地址
    if (allowAdd.includes(req.headers.origin)) {
        res.set("Access-Control-Allow-Origin", req.headers.origin)
        res.set("Access-Control-Allow-Headers", "token")
    }
    next()
})

// app.use((req, res,next) => {
//     const allow = ["http://127.0.0.1:57555", "http://127.0.0.1:57556","http://127.0.0.1:5500"]
//     if (allow.includes(req.headers.origin)) {
//         req.set("Access-Control-Allow-Origin",req.headers.origin)
//         req.set("Access-Control-Allow-Headers",'token')
//     }
//     next()
// })

// app.use((req, res, next) => {
//     // 设置放行地址
//     const allowAdd = ["http://127.0.0.1:57555", "http://127.0.0.1:57556", "http://127.0.0.1:57557", "http://127.0.0.1:5500"]
//     if (allowAdd.includes(req.headers.origin)) {
//         res.set("Access-Control-Allow-Origin", req.headers.origin)
//         res.set("Access-Control-Allow-Headers", "token")
//     }
//     next()
// })


// 处理cors跨域
app.get("/userInfo", (req, res) => {
    res.send({
        code: 10000,
        msg: "查询成功",
        data: {
            name: "李博",
            age: 18,
            sex: "男"
        }
    })
console.log(req.headers.token);
})

// app.get("/userInfo", (req, res) => {
//     const {
//         userId
//     } =
//     req.query

//     if (userId !== "001") {
//         return res.send({
//             code: 10001,
//             msg: "查询失败",
//             data: null
//         })
//     }
//     res.send({
//         code: 10000,
//         msg: "查询成功",
//         data: {
//             name: "李博",
//             age: 18,
//             sex: "男"
//         }
//     })
// })


// app.get("/userInfo", (req, res) => {
//     const {
//         userId
//     } = req.query

//     if (userId !== "001") {
//         return res.send({

//             code: 10001,
//             msg: "查询失败",
//             data: null
//         })
//     }
//     res.send({
//         code: 10000,
//         msg: "查询成功",
//         data: {
//             name: "李博",
//             age: 18,
//             sex: "男"
//         }
//     })
// })





// 处理JsonP跨域
app.get("/getUser", (req, res) => {
    console.log(req.query);
    const {
        userId,
        cb
    } = req.query;

    const data = {
        code: 10000,
        msg: "查询成功",
        data: {
            name: "李博",
            age: 18,
            sex: "男"
        }
    }
    if (!userId || !cb) {
        return res.send({
            code: 10001,
            msg: "查询失败",
            data: null
        })

    }
    // ` ` 接收后会自动去掉，send返回字符串如果是变量对象会转成[objk,objk]
    // 所以需要转换成JSON串
    res.send(`${cb}(${JSON.stringify(data)})`)
})

app.listen(3000, () => {
    console.log("服务器请求成功 请bu访问 http://127.0.0.1:3000");
})